The disclosure relates generally to a method and apparatus for adjusting power consumption level of an integrated circuit.
The thermal design power (TDP) is the maximum power that can be dissipated by a computer system such as a graphic processing unit (GPU). The sum of power consumed by each individual component on a system cannot exceed this limit or risk failure or damage to the system. In order to protect the system from such a TDP violation, a power budget must be allocated to each component. This power budget can be statically defined or dynamically allocated based on which component the operating system or the user would like to give priority to. On the other hand, because the power consumption level reflects the performance of individual component (e.g., integrated circuit), too many unused power credits (i.e., TDP slack) also cause unnecessary performance loss. Accordingly, it is desired to control the power consumed by a particular component, for example, an individual integrated circuit, so that the power consumption level does not exceed the TDP budget for that component while performance loss is minimized.
Some known solutions monitor environment conditions such as temperature and/or current, and have a rigid and static response when the environmental conditions exceed a predefined threshold. When this threshold is surpassed, a signal is asserted indicating to the system that it must take protective action. The action taken by the system is to step down to the next discrete power setting until the condition is no longer present. However, this known approach is insufficient because such a coarse-grained approach can cause an overreaction. The relationship between the TDP budget and the current power consumption level is not real-time determined and not dynamically factored into the magnitude of the response, thereby causing sizeable performance loss during a TDP violation. Moreover, this known approach relies on non-deterministic analog measurements of the environment conditions within the system, which may cause inconsistent system performance among different users even though the users interact in identical manners with the system.
Other known solutions take a different approach by using unused power credits to switch to a higher power state in order to improve the performance if the solution detects that the system has not reached its TDP budget. However, these known solutions only respond to a TDP slack but do not react to an unexpected TDP violation in the higher performance mode.
Accordingly, there exists a need for an improved method and apparatus for adjusting power consumption level of an integrated circuit.